# 基本数据类型

# Python是通过缩进来定义代码层次的，即同一层次的代码都是左对齐，而下一个层次的代码块与当前代码块相比会有4个空格的缩进。
# 针对基本数据类型的操作,整型、浮点型、字符串类型和布尔型


# Python里定义变量时无须指定数据类型
str = "长公主刘嫖"

num1 = 365.98

num2 = 100

ch1 = 'k'
# 光速
speed = 3e10,
# 地球到太阳的距离
distance = 149.6e6,
print("地球到太阳的距离是：", distance, "千米")
print("光速是：", speed, "米/秒")

# 可以用单引号或双引号来定义字符串
str1 = '长公主刘嫖'
str2 = "长公主刘嫖"

# 字符串的拼接
str3 = "长公主" + "刘嫖"

# 字符串的重复
str4 = "长公主刘嫖" * 3
print(str4)

# 字符串的索引
print(str1[0])  # 输出'长'
print(str2[-1])  # 输出'嫖'

# 字符串的切片
# [起始值：终止值]的方法对字符串进行分片操作，包含起始索引的字符，但不包含终止索引的字符
print(str1[0:3])  # 输出'长公'

# 字符串的格式化
name = "长公主刘嫖"
age = 365
print("她的名字是：%s，年龄是：%d" % (name, age))

# 字符串的转义
str5 = "长公主刘嫖\n"
print(str5)

# 字符串的常用操作
str6 = "长公主刘嫖"
print(len(str6))  # 输出字符串的长度
print(str6.upper())  # 输出字符串的大写形式
print(str6.lower())  # 输出字符串的小写形式
print(str6.capitalize())  # 输出字符串的首字母大写形式
print(str6.count("长"))  # 输出字符串中"长"的个数
print(str6.find("刘"))  # 输出字符串中"刘"的索引位置
print(str6.index("刘"))  # 输出字符串中"刘"的索引位置
print(str6.replace("刘", "刘氏"))  # 输出将字符串中"刘"替换为"刘氏"后的结果


# 布尔型
# 布尔型只有两个值：True和False

# 布尔型常用操作
print(True and False)  # 输出False
print(True or False)  # 输出True
print(not True)  # 输出False

# 布尔型与整型和浮点型可以进行比较
print(True == 1)  # 输出True
print(False == 0)  # 输出True

'''
这里是多行注释
'''